package com.csun.cmny.provider.model.dto;

import com.csun.cmny.provider.validator.OmcExpenseItemAddValidator;
import com.csun.cmny.provider.validator.OmcExpenseItemEditValidator;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

@Data
public class ExpenseItemDto implements Serializable {

    private static final long serialVersionUID = -8531955271390788220L;

    /**
     * 费用项id
     */
    @NotNull(message = "{ExpenseItem.id.null}",
            groups = {OmcExpenseItemEditValidator.class})
    private Long id;

    /**
     * 费用类型id
     */
    @NotNull(message = "{ExpenseItem.expenseTypeId.null}",
            groups = {OmcExpenseItemAddValidator.class})
    private Integer expenseTypeId;

    /**
     * 费用项名称
     */
    @NotNull(message = "{ExpenseItem.name.null}",
            groups = {OmcExpenseItemAddValidator.class})
    @NotEmpty(message = "{ExpenseItem.name.null}",
            groups = {OmcExpenseItemAddValidator.class})
    @NotEmpty(message = "{ExpenseItem.name.null}",
            groups = {OmcExpenseItemEditValidator.class})
    private String itemName;

    /**
     * 收费标准
     */
    private BigDecimal chargeStandard;

    /**
     * 服务内容
     */
    @NotNull(message = "{ExpenseItem.content.null}",
            groups = {OmcExpenseItemAddValidator.class})
    @NotEmpty(message = "{ExpenseItem.content.null}",
            groups = {OmcExpenseItemAddValidator.class})
    private String content;

    /*
     * 护理等级id
     * */
    private Long levelCareId;

    /**
     * 备注
     */
    private String remark;

    /**
     * 收费频次方式（1-元/次 2-元/天  3-元/月  4-元/年 5-元/一次性）
     */
    @NotNull(message = "{ExpenseItem.costType.null}",
            groups = {OmcExpenseItemAddValidator.class})
    private Integer costType;

    /**
     * 是否是固定金额：0-否（不需要填写收费标准），1-是（需要填写收费标准）
     */
    @NotNull(message = "{ExpenseItem.isFixedPrice.null}",
            groups = {OmcExpenseItemAddValidator.class})
    private Integer isFixedPrice;

    /**
     * 组织Id
     */
    private Long groupId;

    /*
     * （房间朝向） 1 东 2 西 3 南 4 北
     */
    private Integer roomDirection;

    /*
     * 房间类型（1 单人间， 2 双人间， 3 三人间， 4 四人及四人以上）
     * */
    private Integer roomType;

    /*
     * 是否有厕所 0-否 1-是
     * */
    private Integer hasToilet;

    /*
     * 人工减免费用
     * */
    private BigDecimal user_rate_refief;
}
